1. Field of the Invention
Implementations described herein relate generally to routing calls in a shared network to a destination and, more specifically, to routing calls based on a desired application associated with a destination.
2. Description of Related Art
Techniques exist for setting up a telephone call between two users using the Session Initiation Protocol (SIP). SIP is a client-server protocol used for the initiation and management of communications sessions between users. The SIP, as discussed in RFC 3263, uses domain name system (DNS) procedures to allow a client to locate a SIP server and a backup SIP server if the primary server has failed so that call setup can be established.
A typical SIP configuration is a SIP “trapezoid,” where a caller in a first domain wants to call a second caller in a second domain. In order to setup the call, the caller in the first domain contacts a first proxy (client) in the first domain. The first proxy forwards the request to a second proxy (server) in the second domain and the second proxy in the second domain contacts the user in the second domain to complete the call setup.
As part of the call setup interaction, the first proxy (client) from the first domain needs to determine the proxy (server) in the second domain. The first proxy accomplishes this by making a DNS request using DNS procedures including both service (SRV) and naming authority pointer (NAPTR) records.
The DNS response provides a listing of available proxies (servers) along with their transport protocol, IP address and port. The first proxy selects from the list a proxy in the second domain that has a compatible transport protocol and sends the call request to the second proxy. If the second proxy fails to respond, the first proxy accesses the list and locates another proxy in the second domain that operates a compatible transport protocol. The first proxy may then send the request to the second proxy for routing the call. This protocol allows for call setup between two users in two separate domains.
Although SIP allows for call setup between two users, SIP does not provide mechanisms for the routing of telephone calls to a destination in a shared network where the destination is associated with an application that is requested by the party making the call. SIP also does not account for load balancing of destinations based on dynamic parameters about the health and available capacity of destinations and other network components in a shared network. Further, SIP does not provide a mechanism for distribution of a common routing scheme shared by call routers within the shared network ensuring that the mechanisms by which the call is routed are atomic in nature and predicable in behavior.